#![no_main]
use libfuzzer_sys::fuzz_target;

extern crate string_interner;

use string_interner::{DefaultStringInterner, Sym};

fn clone_and_drop() -> (DefaultStringInterner, Sym) {
    let mut old = DefaultStringInterner::new();
    let foo = old.get_or_intern("foo");

    let new = old.clone();
    let _bar = old.get_or_intern("bar");

    (new, foo)
}


fn main_test() {
    let (mut new, foo) = clone_and_drop();
    // assert_eq!(
    //     new.get_or_intern("foo"),
    //     foo,
    //     "`foo` should represent the string \"foo\" so they should be equal"
    // );
}

fuzz_target!(|data: &[u8]| {
    // fuzzed code goes here
    main_test()
});
